Many different techniques exist for attempting to determine a location associated with a device. For example, location based on GPS, IP address, cell triangulation, proximity to WiFi access points, or other techniques can be used to identify a device's current location. Furthermore, many commonly used computing devices (e.g. a smartphone or tablet) contain the necessary components for periodically performing the above noted techniques to determine their respective locations.
Thus, one or more devices associated with a user can periodically determine their location and report this information to a central computing system (e.g. one or more servers) to provide a log of their location over time. Aggregating this information can result in a history of the user's location over a period of time.
However, the locations reported by the one or more devices can be raw location data. For example, the reported location can be a geocode that identifies a latitude and longitude. Therefore, such raw location data can fail to identify a particular entity (e.g. restaurant, park, or other point of interest) that the user was visiting at the time.
As such, use of the raw data in furtherance of location-enhanced services can fail to provide any contextual information that would more appropriately personalize the location-enhanced services.
In particular, when a person reflects upon the locations she visited over a day or other significant time period, she may tend to conceptualize the time into segments spent at various particular locations. For example, a typical day may include morning activities at home, a breakfast at a coffee shop, time spent at work, and then an afternoon happy hour with friends at a restaurant prior to returning home.
Thus, human perceptions of location history are generally based on time spent at particular locations associated with human experiences and a sense of place, rather than a stream of latitudes and longitudes collected periodically. Therefore, one challenge in creating and maintaining a user location history that is accessible for enhancing one or more services (e.g. search, social, or an API) is to correctly identify particular location entities visited by a user based on raw location reports.